import java.awt.CardLayout;
import java.awt.Container;

import javax.swing.JFrame;
import javax.swing.JLabel;

public class FlowLayoutDemo {
	public static void main(String[] args) {
		//流式布局
		/*JFrame frame=new JFrame("flowlayout");
		//FlowLayout.LEFT public static final int RIGHT 
		frame.setLayout(new FlowLayout(FlowLayout.TRAILING,3,3));
		JButton but = null;
		for(int i=0;i<9;i++){
			but=new JButton("按钮"+i);
			frame.add(but);
		}
		
		frame.setSize(250, 250);
		frame.setVisible(true);
		*/
		
		//BorderLayout
		/*JFrame frame = new JFrame("Welcome To MLDN") ; 
		frame.setLayout(new BorderLayout( 3, 3));
		frame.add(new JButton("south"),BorderLayout.SOUTH);
		frame.add(new JButton("north"),BorderLayout.NORTH);
		frame.add(new JButton("center"),BorderLayout.CENTER);
		frame.add(new JButton("west"),BorderLayout.WEST);
		frame.add(new JButton("east"),BorderLayout.EAST);
		frame.add(new JButton());
		frame.pack() ;
		frame.setSize(250, 250);
		frame.setVisible(true);*/
		
		
		//GridLayout
		/*JFrame frame = new JFrame("Welcome To MLDN") ; // 实例化窗体对象
		// 设置窗体中的布局管理器为GridLayout，按3¡Á3排列，水平和垂直间距为3
		frame.setLayout(new GridLayout(3, 5, 3, 3));
		JButton but = null;
		for (int i = 0; i < 60; i++) {
			but = new JButton("按钮 - "+i) ;
			frame.add(but) ;			// 加入按钮
		}
		frame.pack() ;				// 根据组件自动调整窗体大小
		frame.setVisible(true) ;
*/
		
		/*对JFrame添加组件有两种方式：
		1) 用getContentPane( )方法获得JFrame的内容面板，再对其加入组件：frame.getContentPane().add(childComponent)J
		2) 建立一个Jpanel或 JDesktopPane之类的中间容器，把组件添加到容器中，用setContentPane()方法把该容器置为JFrame的内容面板：
		Jpanel contentPane=new Jpanel( );
		//把其它组件添加到Jpanel中;
		frame.setContentPane(contentPane); 
		//把contentPane对象设置成为frame的内容面板
*/		
		
		
		//CardLayout
		JFrame frame = new JFrame("Welcome To MLDN") ; // 实例化窗体对象
		Container cont = frame.getContentPane() ;	// 取得窗体容器
		CardLayout card = new CardLayout() ;		// 定义布局管理器
		frame.setLayout(card);			// 设置布局管理器
		cont.add(new JLabel("标签-A",JLabel.CENTER),"first") ;
		cont.add(new JLabel("标签-B",JLabel.CENTER),"second") ;
		cont.add(new JLabel("标签-C",JLabel.CENTER),"third") ;
		cont.add(new JLabel("标签-D",JLabel.CENTER),"Fourth") ;
		cont.add(new JLabel("标签-E",JLabel.CENTER),"fifth") ;
		frame.pack() ;	
		frame.setSize(250, 250);// 根据组件自动调整窗体大小
		frame.setVisible(true) ;			// 设置窗体可见
		card.show(cont, "third") ;			// 显示第三张卡片
		for (int i = 0; i < 5; i++) 
		{			// 循环显示每张卡片
			try {
						Thread.sleep(3000) ;	// 加入显示延迟
						}catch (InterruptedException e) {}	
						card.next(cont) ;			// 从容器中取出组件
				}
		}
		
		
	}

